/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Negocio;

import Datos.Supervisor;
import Datos.DB.SupervisorDB;
import Excepciones.ActualizarDatosAdministradorException;
import Excepciones.ActualizarDatosSupervisorException;
import Excepciones.BuscarDatosSupervisorException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author BraymeS
 */
public class GestorSupervisor {
    private Supervisor supervisor= new Supervisor();
    private SupervisorDB gestorDB=new SupervisorDB();
    private ArrayList<Supervisor> listaSupervisores= new ArrayList<Supervisor>();
    
    public void crearSupervisor(String cedula,String nombre,String apellido,String telefono,String direccion, String nombreUsuario, String contraseña){
        
        try {
            supervisor = new Supervisor(cedula, nombre, apellido, telefono, direccion, nombreUsuario, contraseña);
            gestorDB.grabarSupervisor(supervisor);
        } catch (SQLException ex) {
            Logger.getLogger(GestorAdministrador.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void SupervisorEmergenciaRepresentante(Integer numEmer,String cedulasupervisor,String cedularepresentante){
        
        try {
            
            gestorDB.grabarSupervisorEmergenciaRepresentante(numEmer,cedulasupervisor,cedularepresentante);
        } catch (SQLException ex) {
            Logger.getLogger(GestorAdministrador.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void SupervisorTipo(Integer numEmer,String cedulasupervisor,String tipo){
        
        try {
            
            gestorDB.GrabarIncidenteSupervisorEmergencia(numEmer,cedulasupervisor,tipo);
        } catch (SQLException ex) {
            Logger.getLogger(GestorAdministrador.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    
    public ArrayList BuscarUsuario(String nombreUsuario,String contraseña) throws SQLException, BuscarDatosSupervisorException{
      
            supervisor=gestorDB.buscar(nombreUsuario);
            ArrayList datos=new ArrayList();
            datos.add(supervisor.getCedula().toString());
            datos.add(supervisor.getNombre().toString());
            datos.add(supervisor.getDireccion().toString());
            datos.add(supervisor.getTelefono().toString());
            datos.add(supervisor.getUsuario().getNombreUsuario().toString());
            datos.add(supervisor.getUsuario().getContraseña().toString());
            return datos;
        
    }
    
    
    public ArrayList BuscarSupervisor(){
        try {
            ArrayList datos=new ArrayList();
            datos=gestorDB.buscarSup();
            //System.out.println(operador.getNombre());
            return datos;
        } catch (SQLException ex) {
            Logger.getLogger(GestorOperador.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    }
    
    public String modificarUsuario(String cedula,String nombre,String direccion,String telefono,String nomUsu,String conUsu) throws ActualizarDatosAdministradorException, SQLException, ActualizarDatosSupervisorException{
        
            supervisor.setCedula(cedula);
            supervisor.setNombre(nombre);
            supervisor.setDireccion(direccion);
            supervisor.setTelefono(telefono);
            supervisor.getUsuario().setNombreUsuario(nomUsu);
            supervisor.getUsuario().setContraseña(conUsu);
            gestorDB.modificar(supervisor);
        return "modificado";
    }
}
